Android-炫酷动画跳转
作者 | 弱水三千
地址 | https://github.com/meihuali/MyAppTestAmin
声明 | 本文是 弱水三千 原创,已获授权发布,未经原作者允许请勿转载
效果图如下:
https://v.qq.com/txp/iframe/player.html?vid=p1325b35sde&width=500&height=375&auto=0
使用步骤如下:
一.Gradle 依赖
1.最app外层的build.gradle 添加代码:
allprojects { repositories { jcenter() maven { url 'https://jitpack.io' } } }
2.在app 的build.gradle中添加:
dependencies { compile 'com.github.meihuali:MyAppTestAmin:V1.1.7' }
二.跳转
以A跳转到B为例:
1.A类的跳转代码
Intent intent = new Intent(MainActivity.this,TestActivity.class); AnimUtils.startIntent(intent,view, (Activity) MainActivity.this,R.id.ll_layoutss);
参数说明: 第一个参数为intent对象; 第二个参数为 view对象; 第三个参数为 当前类的对象;第四个参数为 当前被点击按钮外层最近的的那个布局的ID,并且布局ID不用初始化。
2.接收方B类:
(1).在onceate中调用:
AnimUtils.animhpel((Activity) this,R.id.ll_layout);
参数说明: 第一个参数为 当前activity对象,;第二个参数为 当前对象布局中的根布局,以view的形式声明一下注意这里是最外成 最外层的那个布局,并且不用初始化。
(2).清单文件中键入主题(必须加):
android:theme="@style/noAnimTheme"
强调:B类中的布局ID必须以View形式声明一下!
private View ll_layout;
三.返回键与系统返回键
1.返回键按钮
AnimUtils.finishAmins((Activity) TestActivity.this,R.id.ll_xxxx,view,R.id.ll_layout);
参数说明:第一个参数为 当前类的对象,第二个参数为 当前被点击按钮外层的那个布局·注意这里不是最外层的布局哦,第三个参数为 当前点击按钮的view 也就是那个onclick 按钮的view,第四个参数为 最外层的跟布局的ID 最外层记住 最外层。
2.系统返回键
@Override
public void onBackPressed() {
AnimUtils.finishonBackPressed(SettingsYusanActivity.this,R.id.ll_layoutss);
}
参数说明:第一个参数为 当前类的对象,第二个参数为 当前最外层的那个布局的ID。
推荐阅读
Android-Material Design风格MVP模式的新闻App(视频图片音乐)